package eu.choreos.vv.client.rmi; import java.rmi.NotBoundException; import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.util.ArrayList; import java.util.List; import eu.choreos.vv.client.MultiClient; public class RMIMultiClient<T extends RMIClient<A,B>, A,B> extends MultiClient<T, A, B> { protected void createClients(Class<T> cls, long qtd, List<String> remotes) throws InstantiationException, IllegalAccessException, RemoteException, NotBoundException { clients = new ArrayList<T>(); int n = remotes.size(); int r = 0; String name = "Client"; for (int i = 0; i < qtd; i++) { Registry registry = LocateRegistry.getRegistry(remotes.get(r)); r = (r+1) % n; T client = (T) registry.lookup(name); clients.add(client); } } }